package com.itcast.cn.servlet;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

/**
 * <p>Servlet学习：生命周期</p>
 *
 * @author hyatt 2022/1/13 17:18
 * @version 1.0
 */
@WebServlet(urlPatterns = "/test2", loadOnStartup = 1)
public class ServletTest2 implements Servlet {

    /**
     * 初始化方法：
     *      1. 调用时机：默认情况下，Servlet被第一次访问的时候被调用
     *          * loadOnStartup： 默认是-1，修改为0或者正整数的时候，则在服务器启动的时候就被调用
     *      2. 调用次数：1次
     * @param servletConfig
     * @throws ServletException
     */
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init......");
    }

    /**
     * 销毁方法：
     *      1. 调用时机：内存释放或者服务器关闭的时候，Servlet对象会被销毁
     *      2. 调用次数：1次
     */
    public void destroy() {
        System.out.println("destroy....");
    }

    /**
     * 提供服务：
     *      1. 调用时机：每次Servlet被访问的时候被调用
     *      2. 调用次数：多次
     * @param servletRequest 请求数据
     * @param servletResponse 响应数据
     * @throws ServletException 异常
     * @throws IOException 异常
     */
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Servlet start......");
    }

    public ServletConfig getServletConfig() {
        return null;
    }

    public String getServletInfo() {
        return null;
    }
}
